var a = 10;
a++;
console.log(a); // 11
a++;
console.log(a); // 12
a++;
console.log(a); // 13
// x++ 让 x自增1，相当于 x = x + 1   x += 1

++a;
console.log(a);// 14
++a;
console.log(a);// 15
++a;
console.log(a); // 16
// // ++x;  让x自增1. 相当于 x = x + 1   x += 1

console.log("============");

var b = 10; // ++ 在前先运算，  ++在后先赋值
var c = b++;  // b++ 此时，表达式的结果： b在运算之前的数据
console.log(b); // 11
console.log(c); // 10

console.log("============");

var m = 10;
var d = ++m; // ++m此时表达式的结果： m在运算之后的数据
console.log(m); // 11
console.log(d); // 11

// a++, ++a 运算逻辑, 对于自增的变量本身是没有区别的
// 如果进行赋值操作. 就不一样了.
// a++ 表达式的结果就是计算之前的a
// ++a 表达式的结果就是计算之后的a

function fn(a) {
    // 局部的
    console.log(">>>", a);//
}

// fn(1414);

var a = 10; // 全局变量
var b = 20
var c = b + ++a;
var c1 = b + a++;
console.log(c); // 20 + 10+1  = 31
console.log(c1); // 31
// console.log(a); // 12

// var temp = ; // 全局的
// // temp => ? 10
fn(a++);
console.log(a);

var n = 1;

function fn1(a) {  // n = 2
    function fn2() {
        console.log(">>>>", a); // n = 3 -> a = 3
    }

    a++; // n ++   --> n = 3
    fn2();
}

fn1(++n);
